package com.tencreat.service.mall;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tencreat.domain.mall.MallGoods;
import com.tencreat.domain.mall.dto.MallGoodsAddDTO;
import com.tencreat.domain.mall.dto.MallSupplierGoodsAddDTO;
import com.tencreat.domain.mall.dto.MallSupplierGoodsAuditDTO;
import com.tencreat.domain.mall.dto.MallSupplierGoodsDTO;
import com.tencreat.domain.mall.vo.MallGoodsAllVO;
import com.tencreat.domain.mall.vo.MallSupplierGoodsVO;
import com.tencreat.domain.mall.vo.MallSupplierGoodsQueryVO;

import java.util.List;

/**
 * 供应商-商品大厅
 * @author zixin
 */
public interface IMallSupplierGoodsService extends IService<MallGoods> {

    /**
     * 分页查询
     * @param dto 查询入参
     * @param page 分页入参
     * @return 分页对象
     */
    Page<MallSupplierGoodsVO> list(IPage<?> page, MallSupplierGoodsDTO dto);

    /**
     * 审核列表
     * @param dto 查询入参
     * @param page 分页入参
     * @return 分页对象
     */
    Page<MallSupplierGoodsVO> listAudit(IPage<?> page, MallSupplierGoodsAuditDTO dto);

    /**
     * 全查
     * @param dto 查询入参
     * @return 对象
     */
    List<MallSupplierGoodsVO> list(MallSupplierGoodsDTO dto);

    /**
     * 查询
     * @param id 商品ID
     * @return 对象
     */
    MallGoodsAllVO query(Long id);

    MallSupplierGoodsQueryVO queryByAdmin(Long id);

    boolean add(MallGoodsAddDTO dto);

    List<Integer> queryCount(Long userId);

    List<Integer> queryAuditCount(Long userId);
}
